package controlador;

import javax.swing.table.AbstractTableModel;

public class ModeloTablaFaltas extends AbstractTableModel{
	
	private  String[] valoresColumnas; //Valores con los nombre de las columnas
	
	private final Object[][] valoresFilas =  new Object[][] {{"8:00-8:50",Boolean.TRUE,Boolean.TRUE},
			{"8:50-9:40",Boolean.FALSE,Boolean.TRUE},
			{"9:40-10:30",Boolean.FALSE,Boolean.TRUE},
			{"11:00-11:50",Boolean.TRUE,Boolean.FALSE},
			{"11:50-12:40",Boolean.TRUE,Boolean.FALSE},
			{"12:40-13:30",Boolean.TRUE,Boolean.FALSE},
			{"13:50-14:30",Boolean.FALSE,Boolean.TRUE},			
			};//Valores de las filas
	
	/**
	 * Constructor del la clase
	 * 
	 * @param numColumnas int - con el numero de columnas que va a tener la tabla
	 * @param nombresColumna String[] - matriz con los nombres de las columnas
	 */
	public ModeloTablaFaltas(int numColumnas,String[] nombresColumna) {		
		valoresColumnas = new String[numColumnas];
		for (int i = 0; i < nombresColumna.length; i++) {
				valoresColumnas[i] = nombresColumna[i];
		}
	}
	
	@Override
	public int getColumnCount() {
		return valoresColumnas.length;
	}

	@Override
	public int getRowCount() {
		return valoresFilas.length;
	}

	@Override
	public Object getValueAt(int fila, int col) {
		return valoresFilas[fila][col];
	}
	
	@Override
	public String getColumnName(int col) {
		return  valoresColumnas[col].toString();
	}
	
	@Override
	public void setValueAt(Object valor, int fila, int columna) {		
		valoresFilas[fila][columna] = valor;
		fireTableCellUpdated(fila, columna);		
	}
	
	@Override
	public boolean isCellEditable(int fila, int columna) {
		return true;
	}
	
	@Override
	public Class<?> getColumnClass(int columnIndex) {
		return getValueAt(0,columnIndex).getClass();
	}
}
